/* 学生管理页面样式 */
.studentPage {
  padding: 24px;
  min-height: 100vh;
  background-color: #f5f5f5;
}

/* 页面头部 */
.pageHeader {
  background: white;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 24px;
}

.headerContent {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}

.titleSection {
  flex: 1;
}

.pageTitle {
  margin-bottom: 8px !important;
  color: #1890ff;
  display: flex;
  align-items: center;
  gap: 8px;
}

.actionSection {
  flex-shrink: 0;
}

/* 统计卡片 */
.statsRow {
  margin-top: 16px;
}

.statCard {
  text-align: center;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.statCard:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.statContent {
  padding: 8px 0;
}

.statNumber {
  font-size: 24px;
  font-weight: bold;
  color: #1890ff;
  line-height: 1;
  margin-bottom: 4px;
}

.statLabel {
  font-size: 12px;
  color: #8c8c8c;
}

/* 页面内容 */
.pageContent {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.contentTabs {
  padding: 0;
}

.contentTabs .ant-tabs-nav {
  padding: 0 24px;
  margin-bottom: 0;
}

.contentTabs .ant-tabs-content-holder {
  padding: 24px;
}

/* 列表卡片 */
.listCard {
  border: none;
  box-shadow: none;
}

.listCard .ant-card-body {
  padding: 0;
}

/* 搜索区域 */
.searchSection {
  margin-bottom: 24px;
  padding: 16px;
  background-color: #fafafa;
  border-radius: 6px;
}

/* 学生列表 */
.studentList {
  min-height: 400px;
}

/* 统计卡片 */
.statisticsCard {
  border: none;
  box-shadow: none;
}

.statisticsCard .ant-card-body {
  padding: 0;
}

/* 课表视图 */
.scheduleView {
  max-height: 500px;
  overflow-y: auto;
}

/* 响应式设计 */
@media (max-width: 1200px) {
  .headerContent {
    flex-direction: column;
    gap: 16px;
  }
  
  .actionSection {
    align-self: stretch;
  }
  
  .actionSection .ant-space {
    width: 100%;
    justify-content: flex-end;
  }
}

@media (max-width: 768px) {
  .studentPage {
    padding: 16px;
  }
  
  .pageHeader {
    padding: 16px;
  }
  
  .headerContent {
    gap: 12px;
  }
  
  .statsRow .ant-col {
    margin-bottom: 8px;
  }
  
  .statNumber {
    font-size: 20px;
  }
  
  .contentTabs .ant-tabs-nav {
    padding: 0 16px;
  }
  
  .contentTabs .ant-tabs-content-holder {
    padding: 16px;
  }
  
  .searchSection {
    padding: 12px;
    margin-bottom: 16px;
  }
}

@media (max-width: 576px) {
  .studentPage {
    padding: 12px;
  }
  
  .pageHeader {
    padding: 12px;
  }
  
  .headerContent {
    gap: 8px;
  }
  
  .titleSection h2 {
    font-size: 18px;
  }
  
  .actionSection .ant-btn {
    font-size: 12px;
    height: 32px;
    padding: 0 12px;
  }
  
  .statCard {
    margin-bottom: 8px;
  }
  
  .statNumber {
    font-size: 18px;
  }
  
  .statLabel {
    font-size: 11px;
  }
  
  .contentTabs .ant-tabs-nav {
    padding: 0 12px;
  }
  
  .contentTabs .ant-tabs-content-holder {
    padding: 12px;
  }
  
  .searchSection {
    padding: 8px;
    margin-bottom: 12px;
  }
}

/* 深色主题支持 */
@media (prefers-color-scheme: dark) {
  .studentPage {
    background-color: #141414;
  }
  
  .pageHeader,
  .pageContent,
  .listCard,
  .statisticsCard {
    background-color: #1f1f1f;
    border-color: #303030;
  }
  
  .pageTitle {
    color: #177ddc;
  }
  
  .statNumber {
    color: #177ddc;
  }
  
  .searchSection {
    background-color: #262626;
  }
  
  .statCard {
    background-color: #262626;
    border-color: #303030;
  }
  
  .statCard:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  }
}

/* 动画效果 */
.studentList .ant-list-item {
  transition: all 0.3s ease;
}

.studentList .ant-list-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.statCard {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.actionSection .ant-btn {
  transition: all 0.3s ease;
}

.actionSection .ant-btn:hover {
  transform: translateY(-1px);
}

/* 加载状态 */
.studentPage .ant-spin-container {
  min-height: 200px;
}

/* 空状态 */
.studentList .ant-empty {
  padding: 40px 20px;
}

.studentList .ant-empty-description {
  color: #8c8c8c;
}

/* 选择状态 */
.studentList .ant-list-item.selected {
  background-color: #e6f7ff;
  border-color: #1890ff;
}

@media (prefers-color-scheme: dark) {
  .studentList .ant-list-item.selected {
    background-color: #111b26;
    border-color: #177ddc;
  }
}